package br.com.gip.controller;

import java.io.Serializable;
import java.util.ArrayList;

import java.util.List;


import org.richfaces.component.html.HtmlDataTable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;


import br.com.gip.business.HistoricoArtefatoBusiness;
import br.com.gip.business.ArtefatoBusiness;

import br.com.gip.repository.model.Artefato;
import br.com.gip.repository.model.HistoricoArtefato;



@Scope("session")
@Controller("historicoArtefatoController")
public class HistoricoArtefatoController implements Serializable {

	private static final long serialVersionUID = -2829362681330334211L;

	@Autowired
	private HistoricoArtefatoBusiness historicoArtefatoBusiness;
	
	@Autowired
	private ArtefatoBusiness ArtefatoBusiness;
	
	private HistoricoArtefato historicoArtefato;
	
	private Artefato artefato;
	
	private Artefato artefatoAux;
	
	private List<Artefato> artefatos;
	
	private List<HistoricoArtefato> historicoArtefatos;
	
	private HtmlDataTable dataTable;
	

	
	
	
	
	/*Chama a tela Listar Usuario e cria Artefato*/
	public String lista() {
		this.historicoArtefato = new HistoricoArtefato();
		this.historicoArtefatos = new ArrayList<HistoricoArtefato>();
		this.artefato = new Artefato();
		return "lista-historico";
	}
	
	public String consultarHistoricoArtefato() {
		this.artefatos = this.ArtefatoBusiness.buscarArtefatos(this.artefato.getNome(),null,null);
		
		for(int i = 0 ; artefatos.size() > 0 ; i ++){
			this.artefatoAux = this.artefatos.remove(artefatos.size()-1);
			this.historicoArtefatos.addAll(this.historicoArtefatoBusiness.bucarHistoricoArtefato(this.artefatoAux.getArtefatoId()));
			
			
		}
		 
		
		
		return "lista-historico-artefatos";
	}
			


	
	public HtmlDataTable getDataTable() {
		return dataTable;
	}

	public void setDataTable(HtmlDataTable dataTable) {
		this.dataTable = dataTable;
	}

	public HistoricoArtefatoBusiness getHistoricoArtefatoBusiness() {
		return historicoArtefatoBusiness;
	}

	public void setHistoricoArtefatoBusiness(
			HistoricoArtefatoBusiness historicoArtefatoBusiness) {
		this.historicoArtefatoBusiness = historicoArtefatoBusiness;
	}

	public HistoricoArtefato getHistoricoArtefato() {
		return historicoArtefato;
	}

	public void setHistoricoArtefato(HistoricoArtefato historicoArtefato) {
		this.historicoArtefato = historicoArtefato;
	}

	public List<HistoricoArtefato> getHistoricoArtefatos() {
		return historicoArtefatos;
	}

	public void setHistoricoArtefatos(List<HistoricoArtefato> historicoArtefatos) {
		this.historicoArtefatos = historicoArtefatos;
	}

	public ArtefatoBusiness getArtefatoBusiness() {
		return ArtefatoBusiness;
	}

	public void setArtefatoBusiness(ArtefatoBusiness artefatoBusiness) {
		ArtefatoBusiness = artefatoBusiness;
	}

	public Artefato getArtefato() {
		return artefato;
	}

	public void setArtefato(Artefato artefato) {
		this.artefato = artefato;
	}

	public List<Artefato> getArtefatos() {
		return artefatos;
	}

	public void setArtefatos(List<Artefato> artefatos) {
		this.artefatos = artefatos;
	}

	public Artefato getArtefatoAux() {
		return artefatoAux;
	}

	public void setArtefatoAux(Artefato artefatoAux) {
		this.artefatoAux = artefatoAux;
	}

	

	
	
}
